package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 租赁资产信息对象 t_asset
 * 
 * @author xiuddooo
 * @date 2025-09-17
 */
public class TAsset extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private String id;

    /** 站点(门店)id */
    @Excel(name = "站点(门店)id")
    private String stationId;

    /** 站点名称（冗余设计） */
    @Excel(name = "站点名称", readConverterExp = "冗=余设计")
    private String stationName;

    /** 资产型号(含品牌信息) */
    @Excel(name = "资产型号(含品牌信息)")
    private String modelId;

    /** 品牌(冗余设计) */
    @Excel(name = "品牌(冗余设计)")
    private String brandName;

    /** 型号(冗余设计) */
    @Excel(name = "型号(冗余设计)")
    private String modelName;

    /** 地区信息id */
    @Excel(name = "地区信息id")
    private String areaId;

    /** 车辆图片id,对应file_storage表的id */
    @Excel(name = "车辆图片id,对应file_storage表的id")
    private String imageId;

    /** 押金方式（0=不支持，1=支持） */
    @Excel(name = "押金方式", readConverterExp = "0==不支持，1=支持")
    private Long supportDeposit;

    /** 信用免押（0=不支持，1=支持） */
    @Excel(name = "信用免押", readConverterExp = "0==不支持，1=支持")
    private Long supportCreditFree;

    /** 特权免押（0=不支持，1=支持） */
    @Excel(name = "特权免押", readConverterExp = "0==不支持，1=支持")
    private Long supportPrivilegeFree;

    /** 押金金额（仅当 support_deposit=1 时生效） */
    @Excel(name = "押金金额", readConverterExp = "仅=当,s=upport_deposit=1,时=生效")
    private String depositAmount;

    /** 资产状态：0-正常,1-维修中,2-已售出 */
    @Excel(name = "资产状态：0-正常,1-维修中,2-已售出")
    private Long assetStatus;

    /** 租用状态:   0-可租,1-已租 */
    @Excel(name = "租用状态:   0-可租,1-已租")
    private Long rentalStatus;

    /** 控制设备序列号 */
    @Excel(name = "控制设备序列号")
    private String deviceSerialNumber;

    /** 车辆车架号 */
    @Excel(name = "车辆车架号")
    private String vin;

    /** 投放状态:0-未投放,1-已投放 */
    @Excel(name = "投放状态:0-未投放,1-已投放")
    private Long deploymentStatus;

    /** 	当前经度 */
    @Excel(name = "	当前经度")
    private String longitude;

    /** 当前纬度 */
    @Excel(name = "当前纬度")
    private String latitude;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setStationId(String stationId) 
    {
        this.stationId = stationId;
    }

    public String getStationId() 
    {
        return stationId;
    }

    public void setStationName(String stationName) 
    {
        this.stationName = stationName;
    }

    public String getStationName() 
    {
        return stationName;
    }

    public void setModelId(String modelId) 
    {
        this.modelId = modelId;
    }

    public String getModelId() 
    {
        return modelId;
    }

    public void setBrandName(String brandName) 
    {
        this.brandName = brandName;
    }

    public String getBrandName() 
    {
        return brandName;
    }

    public void setModelName(String modelName) 
    {
        this.modelName = modelName;
    }

    public String getModelName() 
    {
        return modelName;
    }

    public void setAreaId(String areaId) 
    {
        this.areaId = areaId;
    }

    public String getAreaId() 
    {
        return areaId;
    }

    public void setImageId(String imageId) 
    {
        this.imageId = imageId;
    }

    public String getImageId() 
    {
        return imageId;
    }

    public void setSupportDeposit(Long supportDeposit) 
    {
        this.supportDeposit = supportDeposit;
    }

    public Long getSupportDeposit() 
    {
        return supportDeposit;
    }

    public void setSupportCreditFree(Long supportCreditFree) 
    {
        this.supportCreditFree = supportCreditFree;
    }

    public Long getSupportCreditFree() 
    {
        return supportCreditFree;
    }

    public void setSupportPrivilegeFree(Long supportPrivilegeFree) 
    {
        this.supportPrivilegeFree = supportPrivilegeFree;
    }

    public Long getSupportPrivilegeFree() 
    {
        return supportPrivilegeFree;
    }

    public void setDepositAmount(String depositAmount) 
    {
        this.depositAmount = depositAmount;
    }

    public String getDepositAmount() 
    {
        return depositAmount;
    }

    public void setAssetStatus(Long assetStatus) 
    {
        this.assetStatus = assetStatus;
    }

    public Long getAssetStatus() 
    {
        return assetStatus;
    }

    public void setRentalStatus(Long rentalStatus) 
    {
        this.rentalStatus = rentalStatus;
    }

    public Long getRentalStatus() 
    {
        return rentalStatus;
    }

    public void setDeviceSerialNumber(String deviceSerialNumber) 
    {
        this.deviceSerialNumber = deviceSerialNumber;
    }

    public String getDeviceSerialNumber() 
    {
        return deviceSerialNumber;
    }

    public void setVin(String vin) 
    {
        this.vin = vin;
    }

    public String getVin() 
    {
        return vin;
    }

    public void setDeploymentStatus(Long deploymentStatus) 
    {
        this.deploymentStatus = deploymentStatus;
    }

    public Long getDeploymentStatus() 
    {
        return deploymentStatus;
    }

    public void setLongitude(String longitude) 
    {
        this.longitude = longitude;
    }

    public String getLongitude() 
    {
        return longitude;
    }

    public void setLatitude(String latitude) 
    {
        this.latitude = latitude;
    }

    public String getLatitude() 
    {
        return latitude;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("stationId", getStationId())
            .append("stationName", getStationName())
            .append("modelId", getModelId())
            .append("brandName", getBrandName())
            .append("modelName", getModelName())
            .append("areaId", getAreaId())
            .append("imageId", getImageId())
            .append("supportDeposit", getSupportDeposit())
            .append("supportCreditFree", getSupportCreditFree())
            .append("supportPrivilegeFree", getSupportPrivilegeFree())
            .append("depositAmount", getDepositAmount())
            .append("assetStatus", getAssetStatus())
            .append("rentalStatus", getRentalStatus())
            .append("deviceSerialNumber", getDeviceSerialNumber())
            .append("vin", getVin())
            .append("deploymentStatus", getDeploymentStatus())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .toString();
    }
}
